home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 424_01 / ed_157 / readme < prev    next >
Encoding:
Text File  |  1994-03-28  |  24.5 KB  |  534 lines

  1. Copyright (C) 1992, 1993 by Rush Record
  2. Copyright (C) 1993, 1994 by Charles Sandmann (sandmann@clio.rice.edu)
  3.  
  4. This file is part of ED.
  5.  
  6. ED is free software; you can redistribute it and/or modify it under the terms
  7. of the GNU General Public License as published by the Free Software Foundation.
  8.  
  9. ED is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  10. without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  11. PARTICULAR PURPOSE.  See the GNU General Public License for more details.
  12.  
  13. You should have received a copy of the GNU General Public License along with ED
  14. (see the file COPYING).  If not, write to the Free Software Foundation, 675
  15. Mass Ave, Cambridge, MA 02139, USA.
  16.  
  17. -------------------------------------------------------------------------------
  18. ABOUT ED
  19. -------------------------------------------------------------------------------
  20.  
  21. ED is an EDT look-alike editor that is portable to many platforms. If you use
  22. EMACS, you'll probably hate it, but it does have some nice features.
  23.  
  24. ED will:
  25.  
  26. o  Let you edit files on other hosts, if you are connected to the Internet.
  27. o  Display many files on the screen simultaneously.
  28. o  Save key definitions and other editor settings on command.
  29. o  Let you mark your spot in a file, and return to it easily.
  30. o  Let you put tab stops wherever you want them.
  31. o  Let you use wildcards in search strings.
  32. o  Let you redefine the keys on your terminal.
  33. o  Let you say things like: ED *.dat, if you want to edit all .dat files.
  34. o  Allow you to teach it how to talk to different terminals.
  35. o  Calculate the value of algebraic expressions that include math functions.
  36. o  Sort a file or a portion of a file.
  37. o  Let you read the network news.
  38.  
  39. ED is free software, see the file COPYING for details.
  40.  
  41. ED is available from riceng.rice.edu, username rhrsoft, password rhrsoft.
  42.  
  43. -------------------------------------------------------------------------------
  44. IF BAFFLED
  45. -------------------------------------------------------------------------------
  46.  
  47. If all the wonderful help that appears below fails miserably, which seems not
  48. unlikely, and your local guru can't get ED running, send e-mail to:
  49.  
  50.    sandmann@clio.rice.edu
  51.  
  52. or write to
  53.  
  54.    Charles Sandmann
  55.    527 Asheboro
  56.    Katy, TX  77450
  57.  
  58. and I'll help if I can.  The known bugs are listed in the file edbugs in
  59. this distribution and on the above FTP site.  If in doubt, check the FTP
  60. site since edbugs is kept up to date there.
  61.  
  62. -------------------------------------------------------------------------------
  63. UNPACKING ED
  64. -------------------------------------------------------------------------------
  65.  
  66. If you are on a VMS system (or any other system with ZIP), you should have a 
  67. zip file called ED-vvv.zip (vvv is the version).  To unpack it, get a copy of 
  68. Info-ZIP UNZIP 5.0 (or PKUNZIP 2.04g on DOS) and say:
  69.  
  70. $ unzip ED-vvv.zip
  71.  
  72. This will create a subdirectory of your current directory called "ED-vvv"
  73. which will contain the needed files.
  74.  
  75. If you are on a unixy system, you could have a file called ED-vvv.tar.Z (it
  76. might originally be called ED-vvv.taZ, in this case mv it to ED-vvv.tar.Z).  To
  77. unpack it, create a temporary directory, cd to it, move ED-vvv.tar.Z to it, and
  78. say:
  79.  
  80. uncompress < ED-vvv.tar.Z | tar xf -
  81.  
  82. If you are on a unixy system, you could have a file called EDtarvvv.zip.  To
  83. unpack it, create a temporary directory, cd to it, move EDtarvvv.zip to it. 
  84. You need either GZIP or Info-Zip UNZIP to extract this file.
  85.  
  86. For GZIP, say:
  87. gunzip < EDtarvvv.gz | tar xf -
  88.  
  89. For Info-UnZip, just say:
  90.  
  91. unzip EDtarvvv.zip
  92. tar xf ED-vvv.tar
  93.  
  94. You should definitely read the COPYING file before you even *think* about
  95. selling any code that uses ED source in any way. ED is free, but you cannot
  96. use any of its source code in any commercial product.
  97.  
  98. -------------------------------------------------------------------------------
  99. BUILDING ED ON A UNIX-Y SYSTEM
  100. -------------------------------------------------------------------------------
  101.  
  102. To build ED, you need a compiler for the C language. There are a lot of
  103. different models around, and we can't guarantee that all of them will build ED
  104. successfully. To try to minimize the distinctions, you should run a shell
  105. script called 'autoconfigure', which tries to understand the situation on your
  106. machine.
  107.  
  108. Autoconfigure creates two files: 'compiler' and 'config.h'. compiler has
  109. specifics on how to run the C compiler on your machine. config.h has some
  110. special C code that allows ED to be built on different kinds of hardware.
  111.  
  112. There can be problems with using autoconfigure. For example, the NeXT machine
  113. comes with a C-library that contains the 'sbrk' function, but it doesn't work
  114. right.  On some Linux and BSD386 systems, mmap is available but does not seem
  115. to work properly.  If the compiler built with autoconfigure has compilation
  116. problems or does not run correctly (indicates the file is empty when you
  117. know it isn't) try running configure or specifying "#define NO_MMAP" and
  118. "#define NO_SBRK" in the config.h file.  If you want to use 8-bit character
  119. display (for national character sets, for example) you need to add the
  120. line "#define USE_NCS" to your config.h file.  If you compile in a POSIX
  121. environment you will also need to "#define NO_TERMSIZE", and potentially
  122. CUSERID_ENV if cuserid() is not in the library.  In any case, if autoconfigure
  123. doesn't work right for your system, let me know and I will try to fix
  124. it in the next release.
  125.  
  126. Once you have successfully run autoconfigure (or configure, if that's
  127. appropriate), you need to run make (gmake for BSD386 systems). On Solaris 2.x
  128. systems use the command "make -f makefile.solaris2".  Make will compile
  129. all the .c files and build a file called 'a.out', which is the ED executable
  130. program. Once you have built the program you should create a directory to hold 
  131. the program and some other files (or move it to a standard shared location such 
  132. as /usr/local/bin). Move the program (you can call it what you like, perhaps 
  133. "ed" would be a good idea), *.ed, ed.setup and ed.hlp to that directory:
  134.  
  135. mkdir ~/ED
  136. mv a.out ~/ED/ed
  137. cp load.key *.ed ed.setup ed.hlp ~/ED
  138.  
  139. Note: if you cp a.out instead, remember to chmod 755 ~/ED/ed !
  140.  
  141. At this point you should review the files in the set_size subdirectory.  These
  142. files help you set up the terminal size information and setting up aliases
  143. for the editor.  You may also need to link vt100.ed or vt200.ed to different
  144. file names for use with different TERM variables that behave as a superset of
  145. these terminals (ie vt220.ed, vt320.ed, etc).
  146.  
  147. If you have a local directory for man pages, you may want to move ED.1 into
  148. that directory so there will be man support for ED.
  149.  
  150. -------------------------------------------------------------------------------
  151. BUILDING ED ON A VMS SYSTEM
  152. -------------------------------------------------------------------------------
  153.  
  154. First of all, your VAX must have a C compiler. You can say HELP CC to determine
  155. whether you do. If no help is available, you probably don't. In that case, you
  156. should either find a system that has one or buy one.  If all else fails, 
  157. contact us to get a binary (olb or exe) distribution.
  158.  
  159. VMS systems don't have unix-style networking by default - you have to buy
  160. software from a third party to enable it. And, of course, these manufacturers
  161. pay no attention whatever to one another, with the result that the programmer's
  162. interface varies somewhat from one manufacturer to another. We currently
  163. support the networking of three manufacturers: WOLLONGONG, MULTINET and UCX. If
  164. you have another variety, you'll have to provide us with either documentation
  165. for it, or access to your system so we can get it up and running.
  166.  
  167. What all this is leading up to is that you need to run a command procedure
  168. called MAKE.VMS. This procedure calls another procedure (CONFIGURE.COM), which
  169. determines which kind of networking you have, and a few other details for the C
  170. compiler. CONFIGURE.COM creates two files: 'config.h', which has information
  171. the C compiler uses, and 'vmslink.com', which is the command procedure that
  172. runs the linker when ED is being built.  Unless you have a Vax 4000 series
  173. machine, I suggest you submit make.vms as a batch job.
  174.  
  175. When CONFIGURE.COM completes, MAKE.VMS tries to compile and build ED. If no
  176. nasty error messages appear, it probably worked. Now decide where you want
  177. the ED files to live and move them there:
  178.  
  179. $ CREATE/DIRECTORY SYS$LOGIN:[ED]
  180. $ COPY ED.EXE,*.ED,ED.HLP,LOAD.KEY SYS$LOGIN:[ED]
  181. $ COPY ED.SETUP-VMS SYS$LOGIN:[ED]ED.SETUP
  182.  
  183. -------------------------------------------------------------------------------
  184. BUILDING ED ON A DOS LIKE SYSTEM
  185. -------------------------------------------------------------------------------
  186.  
  187. First of all, a DOS PC must have the GCC port to DOS, DJGPP.  Version 1.10 or 
  188. later is required to run under Windows or an OS/2 DOS session.  You will also
  189. need the event library from LIBGRX for the keyboard handling (or define the
  190. symbol NO_EVENTS when compiling TTYPUT.C).  A binary distribution for DOS is 
  191. also available.  There is currently not a TCP/IP package that works with DJGPP,
  192. so the FTP and NEWS functions are disabled.
  193.  
  194. To build the image you execute MAKE_DOS.BAT (which creates config.h and runs
  195. the compiler).  You may want to edit this file to change the coff2exe binding
  196. step (if you would rather stub the image with the extender).
  197.  
  198. To build ED under NT, you need the Microsoft SDK.  It is as simple as saying
  199. "nmake -f makefile.nt" if you unpacked the files on a FAT partition.  If you
  200. are using HPFS or NTFS, you will need to fix the makefile to reflect the
  201. longer file names.  A binary distribution is available if you don't want to
  202. bother or don't have the SDK.  The NT distribution has FTP file editing 
  203. enabled but does not currently support NEWS.
  204.  
  205. An fully prototyped version of ED has also been built with BORLAND C, but it 
  206. is limited to 32 Kbyte files and not very suitable for real work.  So far
  207. everyone I know has 386+ systems so noone thinks it's worth the effort to fix.
  208.  
  209. Native OS/2 versions have also been built with GCC/2, but it is not as easy,
  210. since you have to link to the KBD and VIO routines.  Contact us for more 
  211. instructions for building the OS/2 native version.
  212.  
  213. -------------------------------------------------------------------------------
  214. FILES ED USES
  215. -------------------------------------------------------------------------------
  216.  
  217. ED uses four auxiliary files, which are ordinary text files (whatever that
  218. means on your platform). They are:
  219.  
  220.   1) Your editor setup file, usually called ~/ed.setup (or SYS$LOGIN:ED.SETUP
  221.      on VMS systems). If you invoke ED and it cannot open the setup file, it
  222.      copies it from the directory that contains the ED program itself. You must
  223.      specify the name of your startup file on the command line when you run ED.
  224.   2) Your journal file, which is specified in your setup file. Typically it's
  225.      called ~/ed.jou (or SYS$LOGIN:ED.JOU on VMS systems).
  226.   3) Your terminal description file, whose name depends on what kind of term-
  227.      inal or terminal emulator you are using. Several examples come with the
  228.      program. You specify the terminal file on the command line when you run
  229.      ED. If you don't know what kind of terminal you have, try the vt100.ed
  230.      file. (Note that ED can create new description files for you if you use
  231.      the -z command-line option.)
  232.   4) The editor help file, called ed.hlp. This file should be in the same
  233.      directory as the executable program.
  234.  
  235. -------------------------------------------------------------------------------
  236. HOW TO GET ED RUNNING
  237. -------------------------------------------------------------------------------
  238.  
  239. There are some files in the set_size subdirectory which contain example
  240. code for inclusion in csh and ksh startup files for defining an alias 
  241. under unix systems.  There is also a program which helps to make sure 
  242. the terminal size is set properly.
  243.  
  244. First, define an alias (VMS users: symbol) to run the editor. I do this as
  245. follows on unix systems (assuming directory name you used above was ED or 
  246. /usr/local/bin and the program was ed).
  247.  
  248. with the csh shell (depending on your setup):
  249.  
  250. alias ed '~/ED/ed ~/ED/$TERM.ed ~/ed.setup `stty size`'
  251. alias ed '/usr/local/bin/ed /usr/local/bin/$TERM.ed ~/ed.setup 0 0'
  252.  
  253. or with the Korn shell:
  254.  
  255. alias ed='/usr/local/bin/ed /usr/local/bin/${TERM}.ed ~/ed.setup 0 0'
  256.  
  257. The rows and columns sizing parameters are such that they can be set using
  258. the `stty size` command, or the editor internally tries to determine these
  259. values if 0 0 are specified.  For some shells you may not be able to create
  260. an alias, and you may need to create a command script with this information.
  261.  
  262. Note:  Some systems (IRIX) do not support the "stty size" command.
  263. For these systems you may be able to use the C shell command:
  264.   eval `resize`
  265. This defines the variables LINES, and COLUMNS, then define the C shell alias:
  266.   alias ed '~/ED/ed ~/ED/$TERM.ed ~/ed.setup $LINES $COLUMNS'
  267.  
  268. Then, to edit file.name, I say ed file.name.
  269.  
  270. On VMS I use something like the following (note that this assumes you put all
  271. of ED's files in your home directory):
  272.  
  273. $ Ed:==$SYS$LOGIN:ED SYS$LOGIN:VAXSTATION.ED SYS$LOGIN:ED.SETUP 0 0
  274.  
  275. Note that you can say things like:
  276.  
  277. ed file1.dat a*.b x.y xyzzy.tmp *.c
  278.  
  279. and all the named files will be loaded by ED, one after the other.
  280.  
  281. The ed.setup file enables some non-EDT extensions you might not like.  If you
  282. want close EDT emulation until you learn to love the extensions, use edt.setup.
  283.  
  284. Many popular defined keys are defined in the file load.key.  For example:
  285.  GOLD-O : open a new file window
  286.  GOLD-M : switch to other file window
  287.  GOLD-C : close current file window
  288.  GOLD-S : create a system/subprocess/DCL window (also GOLD-D)
  289.  GOLD-B : toggle the box cut paste mode
  290.  GOLD-X : calculate expression on current line and paste it into line
  291.  CTRL-A : toggle insert/overstrike mode
  292.  CTRL-B : make current window one line bigger
  293. You may modify this file (maybe merge it with your own command key file
  294. created with the "unload" command) and then issue the command "load load.key".
  295. At this point the keys defined in a volatile state.  To save them permanently,
  296. issue the command "store keys", which puts them in your ed.setup file.
  297.  
  298. -------------------------------------------------------------------------------
  299. WHY IT DIDN'T WORK
  300. -------------------------------------------------------------------------------
  301.  
  302. ED is supposed to spit out informative error messages if something's wrong when
  303. you try to run it. The main things that can go wrong are:
  304.  
  305. 1) You specified the terminal file or setup file wrong. Be sure that TERM is
  306.    defined in your environment if you're on a unix system (if you're using the
  307.    above alias).
  308. 2) You don't have write access to the directory where ED wants to put the
  309.    ed.setup file. This is unlikely, unless you really don't have write access
  310.    to your home directory.
  311. 3) You don't have write access to the directory where ED wants to put the
  312.    journal file. You can fix this by changing the first line of your ed.setup
  313.    file to point to a directory you have write access to.
  314. 4) You specified the terminal rows and columns incorrectly. On most systems,
  315.    you can specify them both as zero to get a reasonable default behavior.
  316.  
  317. -------------------------------------------------------------------------------
  318. DIRECTORY BROWSING
  319. -------------------------------------------------------------------------------
  320.  
  321. If you specify the name of a directory, instead of a file, ED enters 'diredit
  322. mode.' In this mode, ED lists the files in the named directory (along with some
  323. details about each file). To view a file, move the cursor to it and press the
  324. 'a' key (or the 'b' key, if you want to look at it in binary mode). You can hit
  325. 'a' on ".." (or "[-]" under VMS) to move up one level in the directory
  326. hierarchy.
  327.  
  328. -------------------------------------------------------------------------------
  329. USING ED ON THE INTERNET
  330. -------------------------------------------------------------------------------
  331.  
  332. If your workstation is connected to the Internet, ED can open files and
  333. directories on other computers. You do this by using the following syntax:
  334.  
  335. /host.domain:/dir1/dir2.../dirn/file
  336.  
  337. or
  338.  
  339. /user@host.domain:/dir1/dir2.../dirn/file
  340.  
  341. If you use the first form, ED tries to connect with the username "anonymous"
  342. and passes your username and host as the password. If you use the second form,
  343. ED prompts you to enter a password. If you leave off the directories, ED puts
  344. you in the top level directory, "/" (or "[000000]" on VMS).
  345.  
  346. From within ED, you can hit ^Z and say 'help ftp' to get more complete
  347. information about using ED in the internet.
  348.  
  349. -------------------------------------------------------------------------------
  350. WHAT'S EDT?
  351. -------------------------------------------------------------------------------
  352.  
  353. If you don't know how to use EDT, well, you have much to learn in order to use
  354. ED. Unlike EMACS, ED uses the keypad (at the right end of the keyboard) to do
  355. everything. Some keys move the cursor, some kill (delete) text from the file,
  356. some insert previously killed text into the file. You can, from within ED, hit
  357. control-Z and say HELP KEYPAD to get more information, but it isn't a very good
  358. way to learn it all.
  359.  
  360. If I still haven't discouraged you, here's a brief description. (The expression
  361. [x] means keypad key x. This description assumes a VT100-style keypad.)
  362.  
  363. MOVING THE CURSOR
  364.  
  365. If your keyboard has arrow keys, you can use those to move around. If not, the
  366. [0], [1], [2], [3], [7] and [8] keys move you around as follows:
  367.  
  368. 1) All these keys understand a 'direction' of motion that you can change with
  369. the [4] and [5] keys. When you first get into ED, you are 'going forward,' and
  370. pressing any movement key moves the cursor forward in the file. The [5] key
  371. changes the direction to 'going backward,' which means the same keys now move
  372. you backward through the file. The [4] key can set you going forward again.
  373.  
  374. 2) The [3] key moves one character at a time.
  375.  
  376. 3) The [1] key move one word at a time.
  377.  
  378. 4) The [2] key moves to the end of a line.
  379.  
  380. 5) The [0] key moves to the beginning of a line.
  381.  
  382. 6) The [7] key moves to a page boundary.
  383.  
  384. 7) The [8] key moves one 'section' of lines (default: 18 lines).
  385.  
  386. KILLING TEXT
  387.  
  388. Whenever you kill text in ED, the killed text goes into an internal buffer,
  389. from which you can generally retrieve it later on. There are four such buffers:
  390.  
  391. o  the CHAR buffer holds one character, and it gets loaded when you use the
  392.    DELETE key or the [,] key.
  393. o  the WORD buffer holds one 'word' (which may be arbitrarily long) and gets
  394.    loaded when you use the ^J key or the [-] key.
  395. o  the LINE buffer holds one 'line' (which may be arbitrarily long) and gets
  396.    loaded when you use the [PF4] key or the [PF1]-[2] combination.
  397. o  the PASTE buffer holds any arbitrary chunk of text (possibly many lines) and
  398.    gets loaded when you use the [6] key.
  399.  
  400. For each buffer, there are keystroke combinations that cause ED to insert the
  401. contents of the buffer into the file at the cursor position. More about that
  402. later, first the keys that kill:
  403.  
  404. 1) The Delete key kills the character to the left of the cursor.
  405.  
  406. 2) The [,] key kills the single character the cursor is on.
  407.  
  408. 3) The [-] key kills from the cursor to the beginning of the next word.
  409.  
  410. 4) The [PF4] key kills from the cursor to the end of the current line,
  411. including the end of the line itself.
  412.  
  413. 5) The [6] key kills the 'select range,' which is an arbitrary area in the file
  414. that you define using the 'select marker.' This works as follows:
  415.  
  416.    a) You press the [.] key. This puts the select marker at the cursor
  417.    position.
  418.  
  419.    b) You move the cursor somewhere else.
  420.  
  421.    c) You press [6] to kill everything from the cursor to the marker.
  422.  
  423. The [6] key will also kill the search string, if the cursor is currently
  424. sitting on the search string. See FINDING STRINGS below for more about the
  425. search string.
  426.  
  427. UNKILLING TEXT
  428.  
  429. To insert text, you just type. There is an 'overstrike' mode, but it is not
  430. enabled by default. The Delete key lets you back up. The [,], [-] and [PF4]
  431. keys save the text they kill in buffers that you can later 'unkill,' or insert,
  432. into the file. You do this by pressing the [PF1] key (also called the GOLD key)
  433. and then pressing [,], [-] or [PF4]. Similarly, pressing GOLD [6] unkills
  434. whatever you last killed with the [6] key. This is how you move big blocks of
  435. text around.
  436.  
  437. Pressing [PF2] immediately before killing something causes what would be killed
  438. to be copied to the appropriate buffer, without actually removing the text from
  439. the file.
  440.  
  441. Note that ^J (otherwise known as 'delete previous word') loads what it kills
  442. into the WORD buffer (the same one [-] kills into). Also, [PF1]-[2] (otherwise
  443. known as 'delete to end of line') kills into the LINE buffer (the same one [PF4]
  444. kills into).
  445.  
  446. REPEAT COUNTS
  447.  
  448. Any keystroke can be issued to ED with a 'repeat count,' which, in effect,
  449. makes it as if you had pressed the key many times. You enter a repeat count by
  450. pressing GOLD, then typing in a number, then pressing a key (or a GOLD-key
  451. combination). For example, to insert 27 'a' characters, you would press GOLD,
  452. type 27 (on the main keyboard), and press a.
  453.  
  454. FINDING STRINGS
  455.  
  456. To search for a string, press GOLD [PF3]. ED will prompt you for a search
  457. string. Type something in, and press [4] to search forward or [5] to search
  458. backward. It beeps if the string is not found. If it does find the string, it
  459. moves the cursor there. To find the next occurrence of the string (in the
  460. current direction) just press [PF3]. See the SET SEARCH help topic for more
  461. about searching.
  462.  
  463. SAVING CHANGES
  464.  
  465. To save your changes, press control-Z to get into command mode, and say E and
  466. hit RETURN. The file is updated on disk, and you get a prompt for another file
  467. name. To get out of ED completely, just hit RETURN one more time.
  468.  
  469. To get out of a file without saving changes, type control-Z and say Q and hit
  470. RETURN. All your changes are thrown away.
  471.  
  472. MULTI-WINDOW EDITING
  473.  
  474. ED lets you open 'windows' into other files while you're editing. To do this:
  475.  
  476. 1) Press GOLD [PF2]. You get a prompt that says Open,Close,Move,Spawn>. Say O
  477. and hit RETURN.
  478.  
  479. 2) Enter a file name and press RETURN. The screen splits and you get popped
  480. into the file you named.
  481.  
  482. 3) To move between windows, say GOLD [PF2] and say M and hit RETURN. The cursor
  483. moves to the other window. You can have as many windows as you like. You can
  484. say ML (meaning, Move Last) instead of M to move to the window above the
  485. current window, or MN (for Move Next) to move to the one below. Similarly, you
  486. can say MNN to move two windows down, etc.
  487.  
  488. 4) To close a window, say GOLD [PF2] and say C and hit RETURN. The window the
  489. cursor is in is closed. You cannot close the main window. You can say CN or CL
  490. to close the window below or above.
  491.  
  492. 5) To create a window with another process (so you can do directories etc) say
  493. GOLD [PF2] and say S and hit RETURN. Log out of this window to close it. On VMS
  494. systems, you can use the ATTACH command to return to ED, leaving the process
  495. window on the screen. You can then move back into the process window, and it
  496. will return you to the still-waiting process.
  497.  
  498. 6) To update a file you windowed into, move the cursor into the window, say
  499. control-Z, and type W (meaning, WRITE) and hit RETURN. The contents of the
  500. window are written to disk. You can say W filename to write the window to a
  501. specific file.
  502.  
  503. DEFINING KEYS
  504.  
  505. By all means, read the help topic 'defining_keys' in the online help. You can
  506. define keys in ED very easily, and the key definition can include *any* editor
  507. commands. You can, for example, say e *.c, and when the first .c file comes up,
  508. you can define a key that does some edits and then does control-Z and EXIT.
  509. At this point (in the second .c file) you terminate the key definition. Now
  510. when you press the defined key, it edits one more file and pops you into the
  511. next one. You could now enter a huge repeat count and press the defined key,
  512. and the edits would be performed on all the remaining .c files. When there are
  513. no more .c files (or the edits fail for some reason), the defined key stops.
  514.  
  515. Once you have defined some keys, you can store them in your setup file, using
  516. the STORE command. Once you do this, the key definitions become part of your
  517. setup, so you don't have to define them any more - ED just comes up with them
  518. already defined.
  519.  
  520. MORE HELP
  521.  
  522. There is an online help facility built into ED. To get into it, press control-Z
  523. and say H and hit RETURN. A list of topics appears. Type the name of a topic to
  524. get more information, or hit RETURN to work your way back up one level. You can
  525. abbreviate topic names. A list of important topics:
  526.  
  527. SHOW - shows editor settings.
  528. SET - sets editor settings.
  529. STORE - saves editor settings and key definitions in your setup file.
  530. RESTORE - restores editor settings and key definitions from your setup file.
  531. recovery - how to recover edits from the journal file (after a crash).
  532. recall_commands - describes command recall.
  533.  
  534.